package com.Wayne_annotation;

import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;

public class AnnotationDemo04 {
    @MyTest
    public void test1() {
        System.out.println("====test1====");
    }

    public void test2() {
        System.out.println("====test2====");
    }

    @MyTest
    public void test3() {
        System.out.println("====test3====");

    }

    /*
         启动菜单：有注解的才被调用。
    */
    public static void main(String[] args) throws InvocationTargetException, IllegalAccessException {
        AnnotationDemo04 t = new AnnotationDemo04();
        // a.获取类对象
        Class c = AnnotationDemo04.class;
        // b.提取全部方法
        Method[] methods = c.getDeclaredMethods();
        // c.遍历方法，看是否有MyTest注解，有就跑它
        for (Method method : methods) {
            if (method.isAnnotationPresent(MyTest.class)) {
                // 跑它
                method.invoke(t);
            }
        }
    }
}

